package cn.iocoder.yudao.module.project.controller.admin.kismaterielexwarehouserecycle.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 物料出库单作废信息新增/修改 Request VO")
@Data
public class KisMaterielExWarehouseRecycleSaveReqVO {

    @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "20502")
    private Long recycleId;

    @Schema(description = "物料出库单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "23502")
    @NotEmpty(message = "物料出库单编号不能为空")
    private String exWarehouseId;

    @Schema(description = "出库单号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "出库单号不能为空")
    private String exCode;

    @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "订单编号不能为空")
    private String orderCode;

    @Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotEmpty(message = "型号不能为空")
    private String type;

    @Schema(description = "织板编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "织板编码不能为空")
    private String code;

    @Schema(description = "当前订单当前型号的织板数量", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "当前订单当前型号的织板数量不能为空")
    private Integer codeNum;

    @Schema(description = "织板规格")
    private String specification;

    @Schema(description = "箱码")
    private String cartonCode;

    @Schema(description = "箱码具体信息,包括箱码和数量")
    private String cartonJson;

    @Schema(description = "pda提交状态(0:未提交,1:已提交)", example = "1")
    private String submitStatus;

    @Schema(description = "物料状态(0:待修改,1:审核通过,2:待审核)", example = "1")
    private String materialStatus;

    @Schema(description = "球拍型号")
    private String racketModel;

    @Schema(description = "张数")
    private String sheetNum;

    @Schema(description = "轻重")
    private String weight;

    @Schema(description = "裁剪尺寸")
    private String cutSize;

    @Schema(description = "刀数")
    private String knivesNum;

    @Schema(description = "数量")
    private String amount;

    @Schema(description = "裁剪理料")
    private String materialsCut;

    @Schema(description = "画线加层")
    private String addLayers;

    @Schema(description = "备料复核")
    private String materialCheck;

    @Schema(description = "发料")
    private String issuMaterials;

    @Schema(description = "操作员")
    private String operator;

    @Schema(description = "备注", example = "随便")
    private String remark;

}